<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Bluetooth LE Mesh Library: Mesh Power Level Server</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Bluetooth LE Mesh Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('group__wiced__bt__mesh__power__level__server.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Mesh Power Level Server<div class="ingroups"><a class="el" href="group__wiced__bt__mesh.html">LE Mesh</a> &raquo; <a class="el" href="group__wiced__bt__mesh__models.html">Mesh Models Library API</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<p>The AIROC Mesh Power Level Server module of the Mesh Models library provides a way to implement functionality of a power plug type of a device that can be controlled using a Level slider (Generic Level client) and On/Off switch (Generic On/Off client). </p>
<p>In addition to that the device supports a default transition time server functionality and the application can specify on power up behavior.</p>
<p>To instantiate the Power Level Server module, that application includes the <a class="el" href="group__wiced__bt__mesh__power__level__server.html#gaffe3cb3dbf98e48826c58dceb86f25cf">WICED_BT_MESH_MODEL_POWER_LEVEL_SERVER</a> in the device definition. In addition to that, the application shall call <a class="el" href="group__wiced__bt__mesh__power__level__server.html#gac58e658d3d557b1c50b530477a329375">wiced_bt_mesh_model_power_level_server_init</a> function providing the <a class="el" href="group__wiced__bt__mesh__power__level__server.html#ga58610260dbbb87bb7921af540ef45d33">wiced_bt_mesh_power_level_server_callback_t</a> callback that will be executed when power level of the device needs to be changed.</p>
<p>If the device supports several elements with the Power Level Server, for example a power strip with several power plugs, the <a class="el" href="group__wiced__bt__mesh__power__level__server.html#gaffe3cb3dbf98e48826c58dceb86f25cf">WICED_BT_MESH_MODEL_POWER_LEVEL_SERVER</a> shall be included for each element.</p>
<p>The Mesh Power Level Server module in the Mesh Models library maintains the On/Off and Level states and notifies the application on the state changes. The application shall call the <a class="el" href="group__wiced__bt__mesh__power__level__server.html#gaedcbfec81f7f7b3af31ecd2c9cfc3d2a">wiced_bt_mesh_model_power_level_server_level_changed</a> function when the power level of the device is changed locally.</p>
<p>Most of the functionality of the Mesh Power Level server device is implemented in the Mesh Models Library. The application only needs to set hardware appropriately on receiving WICED_BT_MESH_POWER_LEVEL_STATUS event. If client requests to change power to the target value over a period of time, the library will maintain the timer and will periodically call the application with appropriate power level.</p>
<p>The default transition time is managed by the Mesh Models library. The application provides factory default in the default_transition_time element of the <a class="el" href="group__wiced__bt__mesh__core.html#ga347805955f2e047fa5a05b5dc6ec939f">wiced_bt_mesh_core_config_t</a> configuration structure. The default value is used unless overwritten by the default transition time client.</p>
<p>The on power up behavior is managed by the Mesh Models library. The application provides factory default in the onpowerup_state element of the <a class="el" href="group__wiced__bt__mesh__core.html#ga347805955f2e047fa5a05b5dc6ec939f">wiced_bt_mesh_core_config_t</a> configuration structure. The default value is used unless overwritten by the default transition time client. </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gaffe3cb3dbf98e48826c58dceb86f25cf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__power__level__server.html#gaffe3cb3dbf98e48826c58dceb86f25cf">WICED_BT_MESH_MODEL_POWER_LEVEL_SERVER</a></td></tr>
<tr class="memdesc:gaffe3cb3dbf98e48826c58dceb86f25cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mesh Power Level Server Device Composition Data.  <a href="#gaffe3cb3dbf98e48826c58dceb86f25cf">More...</a><br /></td></tr>
<tr class="separator:gaffe3cb3dbf98e48826c58dceb86f25cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga58610260dbbb87bb7921af540ef45d33"><td class="memItemLeft" align="right" valign="top">typedef void()&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__power__level__server.html#ga58610260dbbb87bb7921af540ef45d33">wiced_bt_mesh_power_level_server_callback_t</a>(uint8_t element_idx, uint16_t event, void *p_data)</td></tr>
<tr class="memdesc:ga58610260dbbb87bb7921af540ef45d33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic Power Level Server callback.  <a href="#ga58610260dbbb87bb7921af540ef45d33">More...</a><br /></td></tr>
<tr class="separator:ga58610260dbbb87bb7921af540ef45d33"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gac58e658d3d557b1c50b530477a329375"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__power__level__server.html#gac58e658d3d557b1c50b530477a329375">wiced_bt_mesh_model_power_level_server_init</a> (uint8_t element_idx, <a class="el" href="group__wiced__bt__mesh__power__level__server.html#ga58610260dbbb87bb7921af540ef45d33">wiced_bt_mesh_power_level_server_callback_t</a> *p_callback, wiced_bool_t is_provisioned)</td></tr>
<tr class="memdesc:gac58e658d3d557b1c50b530477a329375"><td class="mdescLeft">&#160;</td><td class="mdescRight">Power Level Module initialization.  <a href="#gac58e658d3d557b1c50b530477a329375">More...</a><br /></td></tr>
<tr class="separator:gac58e658d3d557b1c50b530477a329375"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaedcbfec81f7f7b3af31ecd2c9cfc3d2a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__power__level__server.html#gaedcbfec81f7f7b3af31ecd2c9cfc3d2a">wiced_bt_mesh_model_power_level_server_level_changed</a> (uint8_t element_idx, uint16_t level)</td></tr>
<tr class="memdesc:gaedcbfec81f7f7b3af31ecd2c9cfc3d2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Power Level Changed.  <a href="#gaedcbfec81f7f7b3af31ecd2c9cfc3d2a">More...</a><br /></td></tr>
<tr class="separator:gaedcbfec81f7f7b3af31ecd2c9cfc3d2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2fc9792afd476737b331b4e4d3f28dbd"><td class="memItemLeft" align="right" valign="top">wiced_bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__power__level__server.html#ga2fc9792afd476737b331b4e4d3f28dbd">wiced_bt_mesh_model_power_level_server_message_handler</a> (<a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *p_event, uint8_t *p_data, uint16_t data_len)</td></tr>
<tr class="memdesc:ga2fc9792afd476737b331b4e4d3f28dbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Power Level Server Message Handler.  <a href="#ga2fc9792afd476737b331b4e4d3f28dbd">More...</a><br /></td></tr>
<tr class="separator:ga2fc9792afd476737b331b4e4d3f28dbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2a7638d0918f694804b4acfd8a4b69ab"><td class="memItemLeft" align="right" valign="top">wiced_bool_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__power__level__server.html#ga2a7638d0918f694804b4acfd8a4b69ab">wiced_bt_mesh_model_power_level_setup_server_message_handler</a> (<a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *p_event, uint8_t *p_data, uint16_t data_len)</td></tr>
<tr class="memdesc:ga2a7638d0918f694804b4acfd8a4b69ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Power Level Setup Server Message Handler.  <a href="#ga2a7638d0918f694804b4acfd8a4b69ab">More...</a><br /></td></tr>
<tr class="separator:ga2a7638d0918f694804b4acfd8a4b69ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga02612c425d9164a6d59b8e4236a94ceb"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__power__level__server.html#ga02612c425d9164a6d59b8e4236a94ceb">wiced_bt_mesh_model_power_level_server_scene_store_handler</a> (uint8_t element_idx, uint8_t *p_buffer, uint16_t buffer_len)</td></tr>
<tr class="memdesc:ga02612c425d9164a6d59b8e4236a94ceb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Power Level Server Scene Store Handler.  <a href="#ga02612c425d9164a6d59b8e4236a94ceb">More...</a><br /></td></tr>
<tr class="separator:ga02612c425d9164a6d59b8e4236a94ceb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc865d632fd932907aafefede5522ed9"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wiced__bt__mesh__power__level__server.html#gacc865d632fd932907aafefede5522ed9">wiced_bt_mesh_model_power_level_server_scene_recall_handler</a> (uint8_t element_idx, uint8_t *p_buffer, uint16_t buffer_len, uint32_t transition_time, uint32_t delay)</td></tr>
<tr class="memdesc:gacc865d632fd932907aafefede5522ed9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Power Level Server Scene Store Handler.  <a href="#gacc865d632fd932907aafefede5522ed9">More...</a><br /></td></tr>
<tr class="separator:gacc865d632fd932907aafefede5522ed9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="gaffe3cb3dbf98e48826c58dceb86f25cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaffe3cb3dbf98e48826c58dceb86f25cf">&#9670;&nbsp;</a></span>WICED_BT_MESH_MODEL_POWER_LEVEL_SERVER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WICED_BT_MESH_MODEL_POWER_LEVEL_SERVER</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{ MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_DEFTT_SRV, <a class="code" href="group__wiced__bt__mesh__default__transition__time__server.html#gaadbba5b7363b2afda149d73b56d0959d">wiced_bt_mesh_model_default_transition_time_server_message_handler</a>, NULL, NULL }, \</div><div class="line">    { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_SCENE_SRV, <a class="code" href="group__wiced__bt__mesh__scene__server.html#gad02139dbd5de33dbfa4574f1b7524817">wiced_bt_mesh_model_scene_server_message_handler</a>, NULL, NULL }, \</div><div class="line">    { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_SCENE_SETUP_SRV, <a class="code" href="group__wiced__bt__mesh__scene__server.html#ga1e69d93cd77b795bd811c1ae913a39e9">wiced_bt_mesh_model_scene_setup_server_message_handler</a>, NULL, NULL }, \</div><div class="line">    { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_ONOFF_SRV, <a class="code" href="group__wiced__bt__mesh__onoff__server.html#gae8407b3533ba16b322606715ecc95421">wiced_bt_mesh_model_onoff_server_message_handler</a>, NULL, NULL }, \</div><div class="line">    { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_POWER_ONOFF_SRV, <a class="code" href="group__wiced__bt__mesh__power__onoff__server.html#gaff7b2624880843f3d34cdf348db91348">wiced_bt_mesh_model_power_onoff_server_message_handler</a>, NULL, NULL }, \</div><div class="line">    { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_POWER_ONOFF_SETUP_SRV, <a class="code" href="group__wiced__bt__mesh__power__onoff__server.html#ga6c4dd5a8835747d24d55e38a1b630bfd">wiced_bt_mesh_model_power_onoff_setup_server_message_handler</a>, NULL, NULL }, \</div><div class="line">    { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_LEVEL_SRV, <a class="code" href="group__wiced__bt__mesh__level__server.html#ga54956fe15bf384bcd2cc9da8435c25e2">wiced_bt_mesh_model_level_server_message_handler</a>, NULL, NULL }, \</div><div class="line">    { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_POWER_LEVEL_SRV, <a class="code" href="group__wiced__bt__mesh__power__level__server.html#ga2fc9792afd476737b331b4e4d3f28dbd">wiced_bt_mesh_model_power_level_server_message_handler</a>, <a class="code" href="group__wiced__bt__mesh__power__level__server.html#ga02612c425d9164a6d59b8e4236a94ceb">wiced_bt_mesh_model_power_level_server_scene_store_handler</a>, <a class="code" href="group__wiced__bt__mesh__power__level__server.html#gacc865d632fd932907aafefede5522ed9">wiced_bt_mesh_model_power_level_server_scene_recall_handler</a> }, \</div><div class="line">    { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_POWER_LEVEL_SETUP_SRV, <a class="code" href="group__wiced__bt__mesh__power__level__server.html#ga2a7638d0918f694804b4acfd8a4b69ab">wiced_bt_mesh_model_power_level_setup_server_message_handler</a>, NULL, NULL }</div><div class="ttc" id="group__wiced__bt__mesh__power__level__server_html_gacc865d632fd932907aafefede5522ed9"><div class="ttname"><a href="group__wiced__bt__mesh__power__level__server.html#gacc865d632fd932907aafefede5522ed9">wiced_bt_mesh_model_power_level_server_scene_recall_handler</a></div><div class="ttdeci">uint16_t wiced_bt_mesh_model_power_level_server_scene_recall_handler(uint8_t element_idx, uint8_t *p_buffer, uint16_t buffer_len, uint32_t transition_time, uint32_t delay)</div><div class="ttdoc">Power Level Server Scene Store Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__power__onoff__server_html_ga6c4dd5a8835747d24d55e38a1b630bfd"><div class="ttname"><a href="group__wiced__bt__mesh__power__onoff__server.html#ga6c4dd5a8835747d24d55e38a1b630bfd">wiced_bt_mesh_model_power_onoff_setup_server_message_handler</a></div><div class="ttdeci">wiced_bool_t wiced_bt_mesh_model_power_onoff_setup_server_message_handler(wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len)</div><div class="ttdoc">Power On/Off Setup Server Message Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__power__level__server_html_ga2a7638d0918f694804b4acfd8a4b69ab"><div class="ttname"><a href="group__wiced__bt__mesh__power__level__server.html#ga2a7638d0918f694804b4acfd8a4b69ab">wiced_bt_mesh_model_power_level_setup_server_message_handler</a></div><div class="ttdeci">wiced_bool_t wiced_bt_mesh_model_power_level_setup_server_message_handler(wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len)</div><div class="ttdoc">Power Level Setup Server Message Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__default__transition__time__server_html_gaadbba5b7363b2afda149d73b56d0959d"><div class="ttname"><a href="group__wiced__bt__mesh__default__transition__time__server.html#gaadbba5b7363b2afda149d73b56d0959d">wiced_bt_mesh_model_default_transition_time_server_message_handler</a></div><div class="ttdeci">wiced_bool_t wiced_bt_mesh_model_default_transition_time_server_message_handler(wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len)</div><div class="ttdoc">Default Transition Time Server Message Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__power__level__server_html_ga2fc9792afd476737b331b4e4d3f28dbd"><div class="ttname"><a href="group__wiced__bt__mesh__power__level__server.html#ga2fc9792afd476737b331b4e4d3f28dbd">wiced_bt_mesh_model_power_level_server_message_handler</a></div><div class="ttdeci">wiced_bool_t wiced_bt_mesh_model_power_level_server_message_handler(wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len)</div><div class="ttdoc">Power Level Server Message Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__scene__server_html_ga1e69d93cd77b795bd811c1ae913a39e9"><div class="ttname"><a href="group__wiced__bt__mesh__scene__server.html#ga1e69d93cd77b795bd811c1ae913a39e9">wiced_bt_mesh_model_scene_setup_server_message_handler</a></div><div class="ttdeci">wiced_bool_t wiced_bt_mesh_model_scene_setup_server_message_handler(wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len)</div><div class="ttdoc">Scene Setup Server Message Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__power__level__server_html_ga02612c425d9164a6d59b8e4236a94ceb"><div class="ttname"><a href="group__wiced__bt__mesh__power__level__server.html#ga02612c425d9164a6d59b8e4236a94ceb">wiced_bt_mesh_model_power_level_server_scene_store_handler</a></div><div class="ttdeci">uint16_t wiced_bt_mesh_model_power_level_server_scene_store_handler(uint8_t element_idx, uint8_t *p_buffer, uint16_t buffer_len)</div><div class="ttdoc">Power Level Server Scene Store Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__onoff__server_html_gae8407b3533ba16b322606715ecc95421"><div class="ttname"><a href="group__wiced__bt__mesh__onoff__server.html#gae8407b3533ba16b322606715ecc95421">wiced_bt_mesh_model_onoff_server_message_handler</a></div><div class="ttdeci">wiced_bool_t wiced_bt_mesh_model_onoff_server_message_handler(wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len)</div><div class="ttdoc">On/Off Server Message Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__scene__server_html_gad02139dbd5de33dbfa4574f1b7524817"><div class="ttname"><a href="group__wiced__bt__mesh__scene__server.html#gad02139dbd5de33dbfa4574f1b7524817">wiced_bt_mesh_model_scene_server_message_handler</a></div><div class="ttdeci">wiced_bool_t wiced_bt_mesh_model_scene_server_message_handler(wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len)</div><div class="ttdoc">Scene Server Message Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__level__server_html_ga54956fe15bf384bcd2cc9da8435c25e2"><div class="ttname"><a href="group__wiced__bt__mesh__level__server.html#ga54956fe15bf384bcd2cc9da8435c25e2">wiced_bt_mesh_model_level_server_message_handler</a></div><div class="ttdeci">wiced_bool_t wiced_bt_mesh_model_level_server_message_handler(wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len)</div><div class="ttdoc">Level Server Message Handler.</div></div>
<div class="ttc" id="group__wiced__bt__mesh__power__onoff__server_html_gaff7b2624880843f3d34cdf348db91348"><div class="ttname"><a href="group__wiced__bt__mesh__power__onoff__server.html#gaff7b2624880843f3d34cdf348db91348">wiced_bt_mesh_model_power_onoff_server_message_handler</a></div><div class="ttdeci">wiced_bool_t wiced_bt_mesh_model_power_onoff_server_message_handler(wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len)</div><div class="ttdoc">Power On/Off Server Message Handler.</div></div>
</div><!-- fragment -->
<p>Mesh Power Level Server Device Composition Data. </p>
<p>The Mesh Power Level Server device combines power level and power onoff server functionality with default transition time and on power up behavior. The model can be used standalone, for example, to implement a power plug with adjustible level. The time and scheduler models are optional and can be commented out to reduce memory footprint. </p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga58610260dbbb87bb7921af540ef45d33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga58610260dbbb87bb7921af540ef45d33">&#9670;&nbsp;</a></span>wiced_bt_mesh_power_level_server_callback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void() wiced_bt_mesh_power_level_server_callback_t(uint8_t element_idx, uint16_t event, void *p_data)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Generic Power Level Server callback. </p>
<p>Generic Power Level Server callback is executed by the Mesh Models library to change the power level of the device. The p_data parameter points to the <a class="el" href="structwiced__bt__mesh__power__level__status__data__t.html">wiced_bt_mesh_power_level_status_data_t</a> structure. Typically the application will only need to use the value of the present_power field which specify the power level of the device which shall be set at this particular moment. If the remaining_time field is not zero, the Mesh Library will execute the callback at least once more before the transition is completed.</p>
<p>If peer device requested to transition to the power level over a period of time, the callback will be executed repeatedly. Mesh Library calculates the present power level and submits to the application to update the hardware.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">element_idx</td><td>Element Index of the model </td></tr>
    <tr><td class="paramname">event</td><td>The event that the application should process (see <a class="el" href="wiced__bt__mesh__models_8h.html#POWER_LEVEL_EVENT">Power Level Events</a>) </td></tr>
    <tr><td class="paramname">p_data</td><td>Pointer to the power level data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gac58e658d3d557b1c50b530477a329375"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac58e658d3d557b1c50b530477a329375">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_power_level_server_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wiced_bt_mesh_model_power_level_server_init </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>element_idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__wiced__bt__mesh__power__level__server.html#ga58610260dbbb87bb7921af540ef45d33">wiced_bt_mesh_power_level_server_callback_t</a> *&#160;</td>
          <td class="paramname"><em>p_callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">wiced_bool_t&#160;</td>
          <td class="paramname"><em>is_provisioned</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Power Level Module initialization. </p>
<p>A Mesh application which contains Power Level Server should call this function for each element where the Power Level Server is present. If application needs to support multiple Power Level servers, the initialization shall be called multiple times, once for each element of the device.</p>
<p>The application callback will be executed by the Model Library when it is required to set hardware to the desired power level to a certain level.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">element_idx</td><td>Device element to where model is used </td></tr>
    <tr><td class="paramname">p_callback</td><td>Application callback that will be executed to set the hardware to the specified level. </td></tr>
    <tr><td class="paramname">is_provisioned</td><td>If TRUE, the application is being restarted after being provisioned or after a power loss. If FALSE the Mesh Models Library deletes this module's configuration data stored in the NVRAM.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>WICED_TRUE if initialization was successful </dd></dl>

</div>
</div>
<a id="gaedcbfec81f7f7b3af31ecd2c9cfc3d2a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaedcbfec81f7f7b3af31ecd2c9cfc3d2a">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_power_level_server_level_changed()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wiced_bt_mesh_model_power_level_server_level_changed </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>element_idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>level</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Power Level Changed. </p>
<p>The application shall call this function if the power level of the device has been changed locally. The Power Level module stores new state information and publishes the status change if appropriate.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">element_idx</td><td>Element index for which onoff state has changed </td></tr>
    <tr><td class="paramname">level</td><td>New value of the power level</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

</div>
</div>
<a id="ga2fc9792afd476737b331b4e4d3f28dbd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2fc9792afd476737b331b4e4d3f28dbd">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_power_level_server_message_handler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">wiced_bool_t wiced_bt_mesh_model_power_level_server_message_handler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *&#160;</td>
          <td class="paramname"><em>p_event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>p_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>data_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Power Level Server Message Handler. </p>
<p>The Mesh Core library calls this function for each message received. This function is implemented by Mesh Models library and does not need to be replicated by the application or any other module. The function returns WICED_TRUE if the message is destined for this specific model, and returns WICED_FALSE otherwise.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p_event</td><td>Mesh event with information about received message. </td></tr>
    <tr><td class="paramname">p_data</td><td>Pointer to the data portion of the message </td></tr>
    <tr><td class="paramname">data_len</td><td>Length of the data in the message</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>WICED_TRUE if the message is for this company ID/Model/Element Index combination, WICED_FALSE otherwise. </dd></dl>

</div>
</div>
<a id="ga2a7638d0918f694804b4acfd8a4b69ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2a7638d0918f694804b4acfd8a4b69ab">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_power_level_setup_server_message_handler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">wiced_bool_t wiced_bt_mesh_model_power_level_setup_server_message_handler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structwiced__bt__mesh__event__t.html">wiced_bt_mesh_event_t</a> *&#160;</td>
          <td class="paramname"><em>p_event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>p_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>data_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Power Level Setup Server Message Handler. </p>
<p>The Mesh Core library calls this function for each message received. This function is implemented by Mesh Models library and does not need to be replicated by the application or any other module. The function returns WICED_TRUE if the message is destined for this specific model, and returns WICED_FALSE otherwise.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">p_event</td><td>Mesh event with information about received message. </td></tr>
    <tr><td class="paramname">p_data</td><td>Pointer to the data portion of the message </td></tr>
    <tr><td class="paramname">data_len</td><td>Length of the data in the message</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>WICED_TRUE if the message is for this company ID/Model/Element Index combination, WICED_FALSE otherwise. </dd></dl>

</div>
</div>
<a id="ga02612c425d9164a6d59b8e4236a94ceb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga02612c425d9164a6d59b8e4236a94ceb">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_power_level_server_scene_store_handler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t wiced_bt_mesh_model_power_level_server_scene_store_handler </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>element_idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>p_buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>buffer_len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Power Level Server Scene Store Handler. </p>
<p>The mesh Scene Server calls this function so that the module can store required data for the scene. This function is implemented by Mesh Models library and does not need to be replicated by the application or any other module.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">element_idx</td><td>Element index for which scene information is being stored </td></tr>
    <tr><td class="paramname">p_buffer</td><td>Pointer to a buffer where data should be stored </td></tr>
    <tr><td class="paramname">buf_size</td><td>Maximum amount of data a model can store</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bytes the model wrote into the provided buffer </dd></dl>

</div>
</div>
<a id="gacc865d632fd932907aafefede5522ed9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacc865d632fd932907aafefede5522ed9">&#9670;&nbsp;</a></span>wiced_bt_mesh_model_power_level_server_scene_recall_handler()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t wiced_bt_mesh_model_power_level_server_scene_recall_handler </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>element_idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>p_buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>buffer_len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>transition_time</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>delay</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Power Level Server Scene Store Handler. </p>
<p>When Scene Server receives Scene Recall message it calls this function with data previously stored in the NVRAM. This function is implemented by Mesh Models library and does not need to be replicated by the application or any other module.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">element_idx</td><td>Element index for which scene information is being recalled </td></tr>
    <tr><td class="paramname">p_buffer</td><td>Pointer to a buffer where model's data is located </td></tr>
    <tr><td class="paramname">buf_size</td><td>Maximum amount of data a model can get from the buffer </td></tr>
    <tr><td class="paramname">transition_time</td><td>Specified time in milliseconds to transition to the target state </td></tr>
    <tr><td class="paramname">delay</td><td>Specifies time in milliseconds before starting to transition to the target state</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of bytes the model read from the provided buffer </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>Bluetooth LE Mesh Library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
</body>
</html>
